home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / share / m17n / lo-lrt.mim < prev    next >
Text File  |  2009-04-29  |  6KB  |  249 lines

  1. ;; lo-lrt.mim -- Lao input method with Lao-Roman transliteration
  2. ;; Copyright (C) 2003, 2004, 2005
  3. ;;   National Institute of Advanced Industrial Science and Technology (AIST)
  4. ;;   Registration Number H15PRO112
  5.  
  6. ;; This file is part of the m17n database; a sub-part of the m17n
  7. ;; library.
  8.  
  9. ;; The m17n library is free software; you can redistribute it and/or
  10. ;; modify it under the terms of the GNU Lesser General Public License
  11. ;; as published by the Free Software Foundation; either version 2.1 of
  12. ;; the License, or (at your option) any later version.
  13.  
  14. ;; The m17n library is distributed in the hope that it will be useful,
  15. ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  17. ;; Lesser General Public License for more details.
  18.  
  19. ;; You should have received a copy of the GNU Lesser General Public
  20. ;; License along with the m17n library; if not, write to the Free
  21. ;; Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  22. ;; Boston, MA 02110-1301, USA.
  23.  
  24. (input-method lo lrt)
  25.  
  26. (description "Lao input method using Lao-Roman transliteration.
  27. ")
  28.  
  29. (title "α║ü")
  30. (map
  31.  (consonant
  32.   ("k" "α║ü")
  33.   ("kh" "α║é")
  34.   ("qh" "α║ä")
  35.   ("ng" "α║ç")
  36.   ("j" "α║ê")
  37.   ("s" "α║¬")
  38.   ("x" "α║è")
  39.   ("y" "α║ì")
  40.   ("d" "α║ö")
  41.   ("t" "α║ò")
  42.   ("th" "α║û")
  43.   ("dh" "α║ù")
  44.   ("n" "α║Ö")
  45.   ("b" "α║Ü")
  46.   ("p" "α║¢")
  47.   ("hp" "α║£")
  48.   ("fh" "α║¥")
  49.   ("ph" "α║₧")
  50.   ("f" "α║ƒ")
  51.   ("m" "α║í")
  52.   ("gn" "α║ó")
  53.   ("l" "α║Ñ")
  54.   ("r" "α║ú")
  55.   ("v" "α║º")
  56.   ("w" "α║º")
  57.   ("hh" "α║½")
  58.   ("O" "α║¡")
  59.   ("h" "α║«")
  60.   ("nh" "α╗£")
  61.   ("mh" "α╗¥")
  62.   ("lh" "α║½α║╝")
  63.   ("ngh" "α║½α║ç")
  64.   ("yh" "α║½α║╜")
  65.   ("wh" "α║½α║º")
  66.   ("hl" "α║½α║Ñ")
  67.   ("hy" "α║½α║ì")
  68.   ("hn" "α║½α║Ö")
  69.   ("hm" "α║½α║í")
  70.   )
  71.  
  72.  (semi-vowel
  73.   ("r" (move 1) "α║╝" (move @>)))
  74.  
  75.  (vowel-simple
  76.   ("ar" "α║▓")
  77.   ("i" "α║┤" (mark TONE))
  78.   ("ii" "α║╡" (mark TONE))
  79.   ("eu" "α║╢" (mark TONE))
  80.   ("ur" "α║╖" (mark TONE))
  81.   ("u" "α║╕" (mark TONE))
  82.   ("uu" "α║╣" (mark TONE))
  83.   ("aM" "α║│")
  84.  
  85.   ("ee" (move @-) (move @-) "α╗Ç" (move @+) (move @+))
  86.   ("aa" (move @-) (move @-) "α╗ü" (move @+) (move @+))
  87.   ("oo" (move @-) (move @-) "α╗é" (move @+) (move @+))
  88.   ("ai" (move @-) (move @-) "α╗ä" (move @+) (move @+))
  89.   ("ei" (move @-) (move @-) "α╗â" (move @+) (move @+))
  90.  
  91.   ("er" (move @-) (move @-) "α╗Ç" (move @+) (move @+) "α║┤" (mark TONE))
  92.   ("ir" (move @-) (move @-) "α╗Ç" (move @+) (move @+) "α║╡" (mark TONE))
  93.   ("ea" (move @-) (move @-) "α╗Ç" (move @+) (move @+) "α║╢" (mark TONE) "α║¡")
  94.   ("eaa" (move @-) (move @-) "α╗Ç" (move @+) (move @+) "α║╖" (mark TONE) "α║¡")
  95.   ("ao" (move @-) (move @-) "α╗Ç" (move @+) (move @+) "α║╗" (mark TONE) "α║▓"))
  96.  
  97.  (vowel-a-e-ae
  98.   ("a" "α║░")
  99.   ("e" (move @-) (move @-) "α╗Ç" (move @+) (move @+) "α║░")
  100.   ("ae" (move @-) (move @-) "α╗ü" (move @+) (move @+) "α║░"))
  101.  
  102.  (vowel-oe
  103.   ("oe" (move @-) (move @-) "α╗Ç" (move @+) (move @+) "α║▓α║░"))
  104.  
  105.  (vowel-o
  106.   ("o" (move @-) (move @-) "α╗é" (move @+) (move @+) "α║░"))
  107.  
  108.  (vowel-or
  109.   ("or" "α╗ì" (mark TONE)))
  110.  
  111.  (vowel-ua
  112.   ("ua" "α║╗" (mark TONE) "α║ºα║░"))
  113.  
  114.  (vowel-uaa
  115.   ("uaa" "α║╗" (mark TONE) "α║º"))
  116.  
  117.  (vowel-ie
  118.   ("ie" (move @-) (move @-) "α╗Ç" (move @+) (move @+) "α║▒" (mark TONE) "α║╜α║░"))
  119.  
  120.  (vowel-ia
  121.   ("ia" (move @-) (move @-) "α╗Ç" (move @+) (move @+) "α║▒" (mark TONE) "α║╜"))
  122.  
  123.  (maa-sakod
  124.   ("k" "α║ü")
  125.   ("g" "α║ç")
  126.   ("y" "α║ì")
  127.   ("d" "α║ö")
  128.   ("n" "α║Ö")
  129.   ("b" "α║Ü")
  130.   ("m" "α║í")
  131.   ("v" "α║º")
  132.   ("w" "α║º"))
  133.  
  134.  (maa-sakod-y-v
  135.   ("y" "α║ì")
  136.   ("v" "α║º")
  137.   ("w" "α║º"))
  138.  
  139.  (maa-sakod-non-y-v
  140.   ("k" "α║ü")
  141.   ("g" "α║ç")
  142.   ("d" "α║ö")
  143.   ("n" "α║Ö")
  144.   ("b" "α║Ü")
  145.   ("m" "α║í"))
  146.  
  147.  (tone
  148.   ("'" (move TONE) "α╗ê" (move @>))
  149.   ("\"" (move TONE) "α╗ë" (move @>))
  150.   ("^" (move TONE) "α╗è" (move @>))
  151.   ("+" (move TONE) "α╗ï" (move @>))
  152.   ("~" (move TONE) "α╗î" (move @>)))
  153.  
  154.  (punctuation
  155.   ("\\0" "α╗É")
  156.   ("\\1" "α╗æ")
  157.   ("\\2" "α╗Æ")
  158.   ("\\3" "α╗ô")
  159.   ("\\4" "α╗ö")
  160.   ("\\5" "α╗ò")
  161.   ("\\6" "α╗û")
  162.   ("\\7" "α╗ù")
  163.   ("\\8" "α╗ÿ")
  164.   ("\\9" "α╗Ö")
  165.   ("\\\\" "α╗å")
  166.   ("\\$" "α║»")))
  167.  
  168. (state
  169.  (init
  170.   (consonant (move 1) (mark TONE) (move @>) (shift c-state))
  171.   (vowel-simple)
  172.   (vowel-a-e-ae)
  173.   (vowel-oe)
  174.   (vowel-o)
  175.   (vowel-or)
  176.   (vowel-ua)
  177.   (vowel-uaa)
  178.   (vowel-ie)
  179.   (vowel-ia)
  180.   (tone)
  181.   (punctuation))
  182.  
  183.  (c-state
  184.   (semi-vowel (shift cs-state))
  185.   (nil (shift cs-state)))
  186.  
  187.  (cs-state
  188.   (vowel-simple (shift csv-state))
  189.   (vowel-a-e-ae (shift csv-a-e-ae-state))
  190.   (vowel-oe (shift csv-oe-state))
  191.   (vowel-o (shift csv-o-state))
  192.   (vowel-or (shift csv-or-state))
  193.   (vowel-ua (shift csv-ua-state))
  194.   (vowel-uaa (shift csv-uaa-state))
  195.   (vowel-ie (shift csv-ie-state))
  196.   (vowel-ia (shift csv-ia-state))
  197.   (nil (shift csv-state)))
  198.  
  199.  (csv-state
  200.   (maa-sakod (shift csvm-state))
  201.   (nil (shift csvm-state)))
  202.  
  203.  (csv-a-e-ae-state
  204.   (maa-sakod (move @-) (delete @-) "α║▒" (mark TONE) (move @>)
  205.          (shift csvm-state))
  206.   (nil (shift csvm-state)))
  207.  
  208.  (csv-oe-state
  209.   (maa-sakod (move @-) (delete @-) (delete @-) "α║▒" (mark TONE) "α║¡" (move @>)
  210.          (shift csvm-state))
  211.   (nil (shift csvm-state)))
  212.  
  213.  (csv-o-state
  214.   (maa-sakod-y-v (move @-) (delete @-) "α║▒" (mark TONE) (move @>)
  215.          (shift csvm-state))
  216.   (maa-sakod-non-y-v (move @-) (delete @-) "α║╗" (mark TONE)
  217.              (move 0) (delete @+) (move @>)
  218.              (shift csvm-state))
  219.   (nil (shift csvm-state)))
  220.  
  221.  (csv-or-state
  222.   (maa-sakod (move @-) (delete @-) "α║¡" (move @+) (shift csvm-state))
  223.   (nil (shift csvm-state)))
  224.  
  225.  (csv-ua-state
  226.   (maa-sakod (move @-) (delete -3) "α║▒α║º" (move @+) (shift csvm-state))
  227.   (nil (shift csvm-state)))
  228.  
  229.  (csv-uaa-state
  230.   (maa-sakod (move @-) (move @-) (delete @-) (move @+) (move @+)
  231.          (shift csvm-state))
  232.   (nil (shift csvm-state)))
  233.  
  234.  (csv-ie-state
  235.   (maa-sakod (move @-) (delete @-)  (move @+) (shift csvm-state))
  236.   (nil (shift csvm-state)))
  237.  
  238.  (csv-ia-state
  239.   (maa-sakod (move @-) (move @-) (delete @-)  (move @+) (move @+)
  240.          (shift csvm-state))
  241.   (nil (shift csvm-state)))
  242.  
  243.  (csvm-state
  244.   (tone (shift init))))
  245.  
  246. ;; Local Variables:
  247. ;; mode: lisp
  248. ;; End:
  249.